The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also correspond to embodiments of the claimed inventions.
Within a hosted environment various technologies are utilized to service many different tenants (e.g., customer organizations and their users) simultaneously. Such technologies may include, for example, client-server, traditional databases, and multi-tenant database systems. A multi-tenant database system in particular operates to store data on behalf of a multitude of subscribers, each being a “tenant” of the database system, hence the term multi-tenant database system. Many subscribers (e.g., users or tenants) utilize the computing technologies of the host organization to access analytics, charts, views, reports, and other such data which is stored within the servers, systems, databases, and multi-tenant database system of the host organization. For instance, a sales team may utilize sales data stored within such a system. A host organization that implements the multi-tenant database system may additionally provide a variety of tools, including application development tools to create customized feature sets and interfaces by which the tenants may access, manipulate, display, and analyze their data within an on-demand environment, for instance, as a cloud based service accessible via a public Internet.
While conventionally available User Interface (UI) architectures and technologies exist, the problem with prior solutions is that over time, the UI architectures become increasingly tightly coupled with the underlying features and functionality they are meant to support, which in turn renders conventional UI architectures unsuitable for use with new and different projects. That is to say, the UI architecture and the underlying features become overly interdependent such that one cannot easily be removed from the other for re-use elsewhere. Take for example, a particular aspect of a conventional UI architecture which is used to connect up with a given feature, say a social media feed available from a social network such as Facebook. For instance, the UI architecture may provide a feature that takes a viewer from the particular Facebook feed being viewed to the Facebook user that posted the feed.
Such a UI architecture component may create a connection, change the URL at the top of the browser, which in turn triggers other events to occur, such as loading the user's profile page. Over time the system becomes tightly coupled with its container resulting in a maintenance problem due to the glue like integration throughout the codebase between the UI architecture and the underlying features and functionality. As systems become increasingly larger the stickiness or “glue” eventually becomes immutable for all practical purposes.
The present state of the art may therefore benefit from the systems and methods for implementing a uniform application user interface across a multi-tenant environment as described herein.